package jTestUnit;

import static org.junit.Assert.*;

import java.io.FileNotFoundException;
import java.io.IOException;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import Modelo.Erros;
import Modelo.Modelo;

public class TestModelo {
	Modelo tester;

	@Before
	public void setUp() throws Exception {
		tester = new Modelo();
	}


	@Test
	public void testAdicionaEq01() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", 0));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq02() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", -1));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq03() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", Integer.MIN_VALUE));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq04() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", -52));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq05() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", 552));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq06() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", Integer.MAX_VALUE));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testAdicionaEq07() {
		try {
			
			assertEquals(Erros.VALIDO, tester.adicionaEq("2+2", 18));
			
		} catch (FileNotFoundException e) {
			assertEquals("FileNotFoundException",new FileNotFoundException(), e);
		} catch (IOException e) {
			assertEquals("IOException",new IOException(), e);
		}
	}
	@Test
	public void testSaveFormulas() {
		// unico parametro de entrada será testado por aceptementTest
	}
	@Test
	public void testLoadFormulas() {
		// unico parametro de entrada será testado por aceptementTest
	}
	@Test
	public void testGetFormula01() {
		tester.getFormula(Integer.MAX_VALUE);
	}
	@Test
	public void testGetFormula02() {
		tester.getFormula(-1);
	}
	@Test
	public void testGetFormula03() {
		tester.getFormula(-125);
	}
	@Test
	public void testGetFormula04() {
		tester.getFormula(Integer.MIN_VALUE);
	}
	@Test
	public void testGetFormula05() {
		tester.getFormula(22);
	}
	@Test
	public void testGetFormula06() {
		tester.getFormula(0);
	}
	@Test
	public void testGetFormula07() {
		tester.getFormula(1);
	}
	@Test
	public void testGetFormula08() {
		tester.getFormula(17);
	}
	@Test
	public void testGetFormula09() {
		tester.getFormula(18);
	}
	
	@Test
	public void testLimpaFormula01() {
		tester.limpaFormula(Integer.MAX_VALUE);
	}
	@Test
	public void testLimpaFormula02() {
		tester.limpaFormula(-1);
	}
	@Test
	public void testLimpaFormula03() {
		tester.limpaFormula(-125);
	}
	@Test
	public void testLimpaFormula04() {
		tester.limpaFormula(Integer.MIN_VALUE);
	}
	@Test
	public void testLimpaFormula05() {
		tester.limpaFormula(22);
	}
	@Test
	public void testLimpaFormula06() {
		tester.limpaFormula(0);
	}
	@Test
	public void testLimpaFormula07() {
		tester.limpaFormula(1);
	}
	@Test
	public void testLimpaFormula08() {
		tester.limpaFormula(17);
	}
	@Test
	public void testLimpaFormula09() {
		tester.limpaFormula(18);
	}

	@Test
	public void testIsVazio01() {
		tester.isVazio(Integer.MAX_VALUE);
	}
	@Test
	public void testIsVazio02() {
		tester.isVazio(-1);
	}
	@Test
	public void testIsVazio03() {
		tester.isVazio(-125);
	}
	@Test
	public void testIsVazio04() {
		tester.isVazio(Integer.MIN_VALUE);
	}
	@Test
	public void testIsVazio05() {
		tester.isVazio(22);
	}
	@Test
	public void testIsVazio06() {
		tester.isVazio(0);
	}
	@Test
	public void testIsVazio07() {
		tester.isVazio(1);
	}
	@Test
	public void testIsVazio08() {
		tester.isVazio(17);
	}
	@Test
	public void testIsVazio09() {
		tester.isVazio(18);
	}

	@Test
	public void testTamanhoVars01() {
		tester.tamanhoVars(Integer.MAX_VALUE);
	}
	@Test
	public void testTamanhoVars02() {
		tester.tamanhoVars(-1);
	}
	@Test
	public void testTamanhoVars03() {
		tester.tamanhoVars(-125);
	}
	@Test
	public void testTamanhoVars04() {
		tester.tamanhoVars(Integer.MIN_VALUE);
	}
	@Test
	public void testTamanhoVars05() {
		tester.tamanhoVars(22);
	}
	@Test
	public void testTamanhoVars06() {
		tester.tamanhoVars(0);
	}
	@Test
	public void testTamanhoVars07() {
		tester.tamanhoVars(1);
	}
	@Test
	public void testTamanhoVars08() {
		tester.tamanhoVars(17);
	}
	@Test
	public void testTamanhoVars09() {
		tester.tamanhoVars(18);
	}
	
	@Test
	public void testGetVariaveis01() {
		tester.getVariaveis(Integer.MAX_VALUE);
	}
	@Test
	public void testGetVariaveis02() {
		tester.getVariaveis(-1);
	}
	@Test
	public void testGetVariaveis03() {
		tester.getVariaveis(-125);
	}
	@Test
	public void testGetVariaveis04() {
		tester.getVariaveis(Integer.MIN_VALUE);
	}
	@Test
	public void testGetVariaveis05() {
		tester.getVariaveis(22);
	}
	@Test
	public void testGetVariaveis06() {
		tester.getVariaveis(0);
	}
	@Test
	public void testGetVariaveis07() {
		tester.getVariaveis(1);
	}
	@Test
	public void testGetVariaveis08() {
		tester.getVariaveis(17);
	}
	@Test
	public void testGetVariaveis09() {
		tester.getVariaveis(18);
	}
	
	@Test
	public void testSetVar01() {
		tester.setVar(Integer.MAX_VALUE, 2, "var");
	}
	@Test
	public void testSetVar02() {
		tester.setVar(-1, 2, "var");
	}
	@Test
	public void testSetVar03() {
		tester.setVar(-125, 2, "var");
	}
	@Test
	public void testSetVar04() {
		tester.setVar(Integer.MIN_VALUE, 2, "var");
	}
	@Test
	public void testSetVar05() {
		tester.setVar(22, 2, "var");
	}
	@Test
	public void testSetVar06() {
		tester.setVar(0, 2, "var");
	}
	@Test
	public void testSetVar07() {
		tester.setVar(1, 2, "var");
	}
	@Test
	public void testSetVar08() {
		tester.setVar(17, 2, "var");
	}
	@Test
	public void testSetVar09() {
		tester.setVar(18, 2, "var");
	}
	
	@Test
	public void testGetEqNome01() {
		tester.getEqNome(Integer.MAX_VALUE);
	}
	@Test
	public void testGetEqNome02() {
		tester.getEqNome(-1);
	}
	@Test
	public void testGetEqNome03() {
		tester.getEqNome(-125);
	}
	@Test
	public void testGetEqNome04() {
		tester.getEqNome(Integer.MIN_VALUE);
	}
	@Test
	public void testGetEqNome05() {
		tester.getEqNome(22);
	}
	@Test
	public void testGetEqNome06() {
		tester.getEqNome(0);
	}
	@Test
	public void testGetEqNome07() {
		tester.getEqNome(1);
	}
	@Test
	public void testGetEqNome08() {
		tester.getEqNome(17);
	}
	@Test
	public void testGetEqNome09() {
		tester.getEqNome(18);
	}

	@Test
	public void testSetEqNome01() {
		tester.setEqNome("lol",Integer.MAX_VALUE);
	}
	@Test
	public void testSetEqNome02() {
		tester.setEqNome("lol",-1);
	}
	@Test
	public void testSetEqNome03() {
		tester.setEqNome("lol",-125);
	}
	@Test
	public void testSetEqNome04() {
		tester.setEqNome("lol",Integer.MIN_VALUE);
	}
	@Test
	public void testSetEqNome05() {
		tester.setEqNome("lol",22);
	}
	@Test
	public void testSetEqNome06() {
		tester.setEqNome("lol",0);
	}
	@Test
	public void testSetEqNome07() {
		tester.setEqNome("lol",1);
	}
	@Test
	public void testSetEqNome08() {
		tester.setEqNome("lol",17);
	}
	@Test
	public void testSetEqNome09() {
		tester.setEqNome("lol",18);
	}
	
	@Test
	public void testResolverEq01() {
		tester.resolverEq(Integer.MAX_VALUE);
	}
	@Test
	public void testResolverEq02() {
		tester.resolverEq(-1);
	}
	@Test
	public void testResolverEq03() {
		tester.resolverEq(-125);
	}
	@Test
	public void testResolverEq04() {
		tester.resolverEq(Integer.MIN_VALUE);
	}
	@Test
	public void testResolverEq05() {
		tester.resolverEq(22);
	}
	@Test
	public void testResolverEq06() {
		tester.resolverEq(0);
	}
	@Test
	public void testResolverEq07() {
		tester.resolverEq(1);
	}
	@Test
	public void testResolverEq08() {
		tester.resolverEq(17);
	}
	@Test
	public void testResolverEq09() {
		tester.resolverEq(18);
	}
	
	@Test
	public void testPreparaFormula01() {
		tester.preparaFormula(Integer.MAX_VALUE);
	}
	@Test
	public void testPreparaFormula02() {
		tester.preparaFormula(-1);
	}
	@Test
	public void testPreparaFormula03() {
		tester.preparaFormula(-125);
	}
	@Test
	public void testPreparaFormula04() {
		tester.preparaFormula(Integer.MIN_VALUE);
	}
	@Test
	public void testPreparaFormula05() {
		tester.preparaFormula(22);
	}
	@Test
	public void testPreparaFormula06() {
		tester.preparaFormula(0);
	}
	@Test
	public void testPreparaFormula07() {
		tester.preparaFormula(1);
	}
	@Test
	public void testPreparaFormula08() {
		tester.preparaFormula(17);
	}
	@Test
	public void testPreparaFormula09() {
		tester.preparaFormula(18);
	}
}
